#pragma once
#include "Entity_Base.h"

class Material_Base;

class Section_Base :
    public::Entity_Base
{
public:
    std::weak_ptr<Material_Base> m_pMaterial;
    std::vector<double> parameter;
    int Type;
    std::string sType;
    std::vector<double> coord_c;
    std::vector<double> coord_s1;
    std::vector<double> coord_s2;
    double A;
    double J;
    std::vector<double> S_coord;
    std::vector<double> I_coord;
    std::vector<double> Iw_coord;
    Eigen::Matrix2d a1;
    Eigen::Matrix2d a2;

    virtual void setSection(std::ifstream& fin) {};
    virtual void coutSection() {};
    virtual void foutSection(std::ofstream& fout) {};
};

